package by.parfen.game.service;

import java.util.List;

import by.parfen.game.datamodel.Game;
import by.parfen.game.datamodel.Invitation;
import by.parfen.game.datamodel.Player;

public interface GameService {

	// Player
	Player signUp(String name);

	void leave(String name);

	// Invitation
	Invitation invite(String inviter, String player);

	Invitation cancel(Long invitationId);

	// Game
	Game accept(Long invittationId);

	List<Player> getAvailablePlayers(String excludePlayer);

	List<Game> getActiveGames();

	void finishGame(Long gameId, Long winnerId);

	List<Invitation> getInvitationsFromPlayer(String player);

	List<Invitation> getInvitationsToPlayer(String player);
}
